import { makeObservable, observable, action } from 'mobx';

/**
 * Home页面的状态管理store
 */
class HomeStore {
    // 可观察状态
    loading = false;
    error = '';

    constructor() {
        makeObservable(this, {
            loading: observable,
            error: observable,
            setLoading: action,
            setError: action,
            clearError: action,
            initializeData: action
        });
    }

    // 操作方法
    setLoading = (value: boolean) => {
        this.loading = value;
    };

    setError = (error: string) => {
        this.error = error;
    };

    clearError = () => {
        this.error = '';
    };

    // 初始化数据的方法
    initializeData = async () => {
        this.setLoading(true);
        try {
            // 这里可以添加初始化数据的逻辑
            // 例如API调用等
        } catch (error) {
            this.setError('数据初始化失败');
            console.error('Home初始化失败:', error);
        } finally {
            this.setLoading(false);
        }
    };
}

// 导出单例实例
const homeStore = new HomeStore();
export default homeStore;